home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d27
/
dspjbl.arc
/
DSPJBLCL.CL
next >
Wrap
Text File
|
1991-12-04
|
4KB
|
100 lines
/* DESCRIPTION DSPJOBLST COMMAND PROCESSING PROGRAM */
/* PROGRAMMER DAVID EDLEN */
/* */
PGM PARM(&JOB20)
DCL &JOB20 *CHAR 20
DCL &JOB *CHAR 10
DCL &USR *CHAR 10
DCL &NBR *CHAR 6
DCL &SENDER *CHAR 80
DCL &PGMQ *CHAR 10
DCL &MULTIPLE *LGL
DCL &MSGID *CHAR 7
DCL &MSGDTA *CHAR 132
DCL &QLEN *DEC 5 VALUE(26)
DCL &DATA26 *CHAR 26
DCL &COUNT *DEC 3
DCL &OPTION *CHAR 1
MONMSG CPF0000 EXEC(GOTO ERROR)
SNDPGMMSG MSG($) TOPGMQ(*SAME)
RCVMSG SENDER(&SENDER)
CHGVAR &PGMQ VALUE(%SST(&SENDER 27 10))
DSPJOB: CHGVAR &MULTIPLE '0'
CHGVAR &JOB VALUE(%SST(&JOB20 1 10))
CHGVAR &USR VALUE(%SST(&JOB20 11 10))
IF (&USR *NE ' ') DO
DSPJOB JOB(&JOB.&USR)
MONMSG CPF1069 EXEC(CHGVAR &MULTIPLE '1')
ENDDO
ELSE DO
DSPJOB JOB(&JOB)
MONMSG CPF1069 EXEC(CHGVAR &MULTIPLE '1')
ENDDO
IF &MULTIPLE DO
CHKOBJ OBJ(@JOBLIST.QTEMP) OBJTYPE(*DTAQ)
MONMSG CPF9801 EXEC(DO)
CRTDTAQ DTAQ(@JOBLIST.QTEMP) MAXLEN(26) TEXT('Job +
list for DSPJOBLST command.')
ENDDO
CHGVAR &COUNT VALUE(0)
MSGDTA: RCVMSG MSGID(&MSGID) MSGDTA(&MSGDTA)
IF (&MSGID = CPF0906) DO
CHGVAR &DATA26 VALUE(%SST(&MSGDTA 1 26))
CALL QSNDDTAQ PARM(@JOBLIST QTEMP &QLEN &DATA26)
CHGVAR &COUNT VALUE(&COUNT + 1)
ENDDO
IF (&MSGID *NE ' ' *AND &COUNT *LT 50) GOTO MSGDTA
RMVMSG CLEAR(*ALL)
CHGVAR &OPTION VALUE('0')
DSPJOBLST: CALL DSPJBLR PARM(&JOB &USR &NBR &OPTION &PGMQ)
RMVMSG CLEAR(*ALL)
IF (&OPTION *EQ '1') DO
DSPJOB JOB(&JOB.&USR.&NBR)
MONMSG CPF0000 EXEC(GOTO DSPJOBLST)
ENDDO
IF (&OPTION *EQ '2') DO
DSPJOBLOG JOB(&JOB.&USR.&NBR)
MONMSG CPF0000 EXEC(DO)
RMVMSG CLEAR(*ALL)
DSPSPLF FILE(QPJOBLOG) JOB(&JOB.&USR.&NBR)
MONMSG CPF0000 EXEC(GOTO DSPJOBLST)
ENDDO
ENDDO
IF (&OPTION *EQ '5') GOTO DSPJOB
IF (&OPTION *NE '9') GOTO DSPJOBLST
ENDDO
GOTO ENDPGM
ERROR: CHGVAR &COUNT VALUE(0)
RCVMSG: RCVMSG MSGID(&MSGID) MSGDTA(&MSGDTA)
CHGVAR &COUNT VALUE(&COUNT+1)
IF (&COUNT *GT 100) GOTO ENDPGM
IF (%SST(&MSGID 1 2) *EQ CP) DO
SNDPGMMSG MSGID(&MSGID) MSGF(QCPFMSG) MSGDTA(&MSGDTA) +
MSGTYPE(*DIAG)
MONMSG CPF0000
ENDDO
IF (&MSGID *NE ' ') GOTO RCVMSG
ELSE SNDPGMMSG MSGID(CPF9899) MSGF(QCPFMSG) +
MSGTYPE(*ESCAPE)
ENDPGM: ENDPGM